package com.night.icm.model.business;

import com.night.icm.common.utils.TermType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * StudentCourseGradeGatherDTO
 * 在后端汇总成list，按学期分
 *
 * @author Liao ZhiYong
 * @date 2020/2/5
 */
@ApiModel(description = "学生所有课程成绩")
@Data
public class StudentCourseGradeGatherDTO {


    @ApiModelProperty(position = 110, value = "学生所有课程成绩id，自增")
    private String id;

    @ApiModelProperty(position = 120, value = "学生某一学期所有的课程成绩")
    private List<StudentCourseGradeDTO> studentCourseGrades;

    @ApiModelProperty(position = 130, value = "学院名称")
    private String academyName;

    @ApiModelProperty(position = 140, value = "行政班级，如计算机163班")
    private String className;

    @ApiModelProperty(position = 150, value = "学期平均学分绩点")
    private Double averageCreditGradePoint;

    @ApiModelProperty(position = 160, value = "学生学号")
    private String studentCode;

    @ApiModelProperty(position = 170, value = "学生姓名")
    private String studentName;

    @ApiModelProperty(position = 180, value = "年度，比如：2020年-2021年第一和第二学期都是2020年度的成绩")
    @NotNull
    @Size(max = 4)
    private String year;

    @ApiModelProperty(position = 190, value = "第一或第二学期，也叫上学期和下学期")
    private TermType termType;

}